home *** CD-ROM | disk | FTP | other *** search
/ Quick PC 61 / Quick PC 61.iso / I386 / SASETUP.MSI / F77723_Web_LogSettings.asp < prev    next >
Encoding:
Text File  |  2003-02-21  |  42.6 KB  |  1,344 lines

  1. <%@ Language=VBScript     %>
  2.  
  3. <%    Option Explicit       %>
  4.  
  5. <%
  6.     '------------------------------------------------------------------------- 
  7.     ' Web_LogSettings.asp: set the log settings to the web service\sites
  8.     '
  9.     ' Copyright (c) Microsoft Corporation.  All rights reserved. 
  10.     '
  11.     ' Date            Description    
  12.     ' 8-11-2000        Created date
  13.     ' 15-01-2001    Modified for new Framework
  14.     '-------------------------------------------------------------------------
  15. %>
  16.  
  17. <!-- #include virtual="/admin/inc_framework.asp" -->
  18. <!-- #include virtual="/admin/wsa/inc_wsa.asp" -->
  19. <!-- #include virtual="/admin/wsa/inc_wsa.js" -->
  20. <!-- #include file="inc_MasterWeb.js" -->
  21.  
  22. <% 
  23.         '-------------------------------------------------------------------------
  24.     ' Form Variables
  25.     '-------------------------------------------------------------------------
  26.     Dim F_chkEnableLogging
  27.     Dim F_selectActiveFormat
  28.     Dim F_optLogPeriod
  29.     Dim F_FileSize
  30.     Dim F_LocalTime
  31.     Dim F_LogFileDir
  32.     Dim F_SiteCriteria
  33.     
  34.     '-------------------------------------------------------------------------
  35.     ' Global Variables
  36.     '-------------------------------------------------------------------------
  37.     Dim G_objService
  38.     
  39.     '-------------------------------------------------------------------------
  40.     ' Start of localization content
  41.     '-------------------------------------------------------------------------    
  42.     Dim L_IISLOGSTASKTITLETEXT
  43.     'Dim L_IISLOGSWEBROOTDIRHELP
  44.     Dim L_ENABLELOGGING
  45.     Dim L_ACTIVELOGFORMAT
  46.     Dim L_IISLOGFORMAT
  47.     Dim L_COMMONLOGFORMAT
  48.     Dim L_ODBCLOG
  49.     Dim L_EXTENDEDLOGFILE
  50.     Dim L_NEWLOGTIME
  51.     Dim L_HOURLY
  52.     Dim L_MONTHLY
  53.     Dim L_DAILY
  54.     Dim L_UNLIMITEDFILESIZE
  55.     Dim L_WEEKLY
  56.     Dim L_WHENFILESIZE
  57.     Dim L_MB
  58.     Dim L_LOCALTIME
  59.     Dim L_LOGFILEDIR
  60.     Dim L_APPLYTOALLIISTEXT
  61.     Dim L_APPLYTOINHERITEDIISTEXT        
  62.     Dim L_FAIL_TO_SET_LOGS
  63.     Dim L_INVALID_DRIVE_ERRORMESSAGE
  64.     Dim L_NOT_NTFS_DRIVE_ERRORMESSAGE
  65.     Dim L_FAILED_CREATE_DIR_ERRORMESSAGE
  66.     Dim L_FILEINFORMATION_ERRORMESSAGE
  67.     Dim L_INFORMATION_ERRORMESSAGE
  68.     Dim L_INVALID_DIR_FORMAT_ERRORMESSAGE
  69.     Dim    L_INVALID_DIR_ERRORMESSAGE
  70.     Dim L_DIRPATHEMPTY_ERRORMESSAGE
  71.     Dim    L_DIRQUOTAERRORMESSAGE
  72.     Dim L_FILE
  73.     
  74.     Dim L_ID_NOTEMPTY_ERROR_MESSAGE
  75.     Dim L_SITE_IDENTIFIER_EMPTY_TEXT
  76.  
  77.         
  78.     L_IISLOGSTASKTITLETEXT                =    GetLocString("GeneralSettings.dll", "40420037", "")
  79.     'L_IISLOGSWEBROOTDIRHELP                =    GetLocString("GeneralSettings.dll", "40420038", "")
  80.     L_ENABLELOGGING                        =    GetLocString("GeneralSettings.dll", "40420039", "")
  81.     L_ACTIVELOGFORMAT                    =    GetLocString("GeneralSettings.dll", "4042003A", "")
  82.     L_IISLOGFORMAT                        =    GetLocString("GeneralSettings.dll", "4042003B", "")
  83.     L_COMMONLOGFORMAT                    =    GetLocString("GeneralSettings.dll", "4042003C", "")
  84.     L_ODBCLOG                            =    GetLocString("GeneralSettings.dll", "4042003D", "")
  85.     L_EXTENDEDLOGFILE                    =    GetLocString("GeneralSettings.dll", "4042003E", "")
  86.     L_NEWLOGTIME                        =    GetLocString("GeneralSettings.dll", "4042003F", "")
  87.     L_HOURLY                            =    GetLocString("GeneralSettings.dll", "40420040", "")
  88.     L_MONTHLY                            =    GetLocString("GeneralSettings.dll", "40420041", "")
  89.     L_DAILY                                =    GetLocString("GeneralSettings.dll", "40420042", "")
  90.     L_UNLIMITEDFILESIZE                    =    GetLocString("GeneralSettings.dll", "40420043", "")
  91.     L_WEEKLY                            =    GetLocString("GeneralSettings.dll", "40420044", "")
  92.     L_WHENFILESIZE                        =    GetLocString("GeneralSettings.dll", "40420045", "")
  93.     L_MB                                =    GetLocString("GeneralSettings.dll", "40420046", "")
  94.     L_LOCALTIME                            =    GetLocString("GeneralSettings.dll", "40420047", "")
  95.     L_LOGFILEDIR                        =    GetLocString("GeneralSettings.dll", "40420048", "")
  96.     L_APPLYTOALLIISTEXT                    =    GetLocString("GeneralSettings.dll", "40420035", "")
  97.     L_APPLYTOINHERITEDIISTEXT            =    GetLocString("GeneralSettings.dll", "40420034", "")
  98.     L_FAIL_TO_SET_LOGS                    =    GetLocString("GeneralSettings.dll", "C0420049", "")
  99.     L_INVALID_DRIVE_ERRORMESSAGE        =    GetLocString("GeneralSettings.dll", "C0420022", "")
  100.     L_NOT_NTFS_DRIVE_ERRORMESSAGE        =    GetLocString("GeneralSettings.dll", "C042000D", "")
  101.     L_FAILED_CREATE_DIR_ERRORMESSAGE    =    GetLocString("GeneralSettings.dll", "C042000E", "")
  102.     L_FILEINFORMATION_ERRORMESSAGE        =   GetLocString("GeneralSettings.dll", "C042000C", "")
  103.     L_INFORMATION_ERRORMESSAGE            =    GetLocString("GeneralSettings.dll", "C042000F", "")
  104.     L_INVALID_DIR_FORMAT_ERRORMESSAGE    =    GetLocString("GeneralSettings.dll", "40420004", "")
  105.     L_INVALID_DIR_ERRORMESSAGE            =    GetLocString("GeneralSettings.dll", "C042004B", "")
  106.     L_DIRPATHEMPTY_ERRORMESSAGE            =    GetLocString("GeneralSettings.dll", "C042004C", "")
  107.     L_FILE                                =    GetLocString("GeneralSettings.dll", "4042004A", "")
  108.     '-------------------------------------------------------------------------
  109.     'END of localization content
  110.     '-------------------------------------------------------------------------    
  111.     
  112.     'Create property page
  113.     Dim rc
  114.     Dim page
  115.  
  116.     rc=SA_CreatePage(L_IISLOGSTASKTITLETEXT,"",PT_PROPERTY,page)
  117.    
  118.     'Serve the page
  119.     If(rc=0) then
  120.         SA_ShowPage(Page)
  121.     End if
  122.         
  123.     '-------------------------------------------------------------------------
  124.     'Function:                OnInitPage()
  125.     'Description:            Called to signal first time processing for this page.
  126.     '                        Use this method to do first time initialization tasks
  127.     'Input Variables:        PageIn,EventArg
  128.     'Output Variables:        None
  129.     'Returns:                True/False
  130.     'Global Variables:        None
  131.     '-------------------------------------------------------------------------
  132.     Public Function OnInitPage(ByRef PageIn,ByRef EventArg)        
  133.         InitObjects()    
  134.         SetVariablesFromSystem()
  135.         OnInitPage = True
  136.     End Function
  137.     
  138.     '-------------------------------------------------------------------------
  139.     'Function:                OnServePropertyPage()
  140.     'Description:            Called when the page needs to be served.Use this 
  141.     '                        method to serve content
  142.     'Input Variables:        PageIn,EventArg
  143.     'Output Variables:        None
  144.     'Returns:                True/False
  145.     'Global Variables:        None
  146.     '-------------------------------------------------------------------------
  147.     Public Function OnServePropertyPage(ByRef PageIn,Byref EventArg)
  148.         Call ServeCommonJavaScript()
  149.         Call ServePage()
  150.         OnServePropertyPage = True
  151.     End Function
  152.     
  153.     '-------------------------------------------------------------------------
  154.     'Function:                OnPostBackPage()
  155.     'Description:            Called to signal that the page has been posted-back.
  156.     'Input Variables:        PageIn,EventArg
  157.     'Output Variables:        None
  158.     'Returns:                True/False
  159.     'Global Variables:        None
  160.     '-------------------------------------------------------------------------
  161.     Public Function OnPostBackPage(ByRef PageIn ,ByRef EventArg)
  162.         OnPostBackPage = True
  163.     End Function
  164.         
  165.     '-------------------------------------------------------------------------
  166.     'Function:                OnSubmitPage()
  167.     'Description:            Called when the page has been submitted for processing.
  168.     '                        Use this method to process the submit request.
  169.     'Input Variables:        PageIn,EventArg
  170.     'Output Variables:        None
  171.     'Returns:                True/False
  172.     'Global Variables:        None
  173.     '-------------------------------------------------------------------------
  174.     Public Function OnSubmitPage(ByRef PageIn ,ByRef EventArg)
  175.         OnSubmitPage = ServeVariablesFromForm()
  176.     End Function
  177.            
  178.     '-------------------------------------------------------------------------
  179.     'Function:                OnClosePage()
  180.     'Description:            Called when the page is about closed.Use this method
  181.     '                        to perform clean-up processing
  182.     'Input Variables:        PageIn,EventArg
  183.     'Output Variables:        None
  184.     'Returns:                True/False
  185.     'Global Variables:        None
  186.     '-------------------------------------------------------------------------
  187.     Public Function OnClosePage(ByRef PageIn ,ByRef EventArg)
  188.         OnClosePage = TRUE
  189.     End Function     
  190.     
  191.     '-------------------------------------------------------------------------
  192.     'Function:                ServeCommonJavaScript
  193.     'Description:            Serves in initialiging the values,setting the form
  194.     '                        data and validating the form values
  195.     'Input Variables:        None
  196.     'Output Variables:        None
  197.     'Returns:                True/False
  198.     'Global Variables:        None
  199.     '-------------------------------------------------------------------------
  200.     Function ServeCommonJavaScript()
  201. %>        
  202.             <SCRIPT language="JavaScript" SRC="<%=m_VirtualRoot%>inc_global.js" ></SCRIPT>
  203.         <script language="JavaScript">    
  204.          function ValidatePage() 
  205.             {                 
  206.                  // validate directory
  207.                 var strID = "";
  208.                 strID = document.frmTask.txtLogFileDir.value;
  209.                 var strIndex = strID.indexOf("\\\\");
  210.                 if (strIndex > 0)
  211.                 {
  212.                     SA_DisplayErr("<%=Server.HTMLEncode(SA_EscapeQuotes(L_INVALID_DIR_FORMAT_ERRORMESSAGE))%>");
  213.                     document.frmTask.txtLogFileDir.focus();
  214.                     return false;
  215.                 }
  216.  
  217.                 if (document.frmTask.txtFileSize.disabled==false)
  218.                 {    
  219.                     var strFileSize = document.frmTask.txtFileSize.value; 
  220.                     if (strFileSize == "" || strFileSize == 0)
  221.                     {    
  222.                         document.frmTask.txtFileSize.value = 1;
  223.                         return true;
  224.                     }
  225.                 }                                        
  226.                         
  227.                 // validate site directory                 
  228.                 if (!(checkKeyforValidCharacters(strID)))
  229.                         return false;             
  230.              
  231.                 UpdateHiddenVariables();
  232.                 return true;
  233.             }
  234.             
  235.             function checkKeyforValidCharacters(strID)
  236.             {    
  237.                             
  238.                 var len = strID.length;
  239.                 var charAtPos;
  240.                 if(len > 0)
  241.                 {        
  242.                     for(var i=0; i<len;i++)
  243.                     {
  244.                       charAtPos = strID.charCodeAt(i);                        
  245.                         if(charAtPos ==47 || charAtPos == 42 || charAtPos == 63 || charAtPos == 34 || charAtPos == 60 || charAtPos == 62 || charAtPos == 124 || charAtPos == 91 || charAtPos == 93 || charAtPos == 59 || charAtPos == 43 || charAtPos == 61 || charAtPos == 44)
  246.                         {    
  247.                             SA_DisplayErr("<%=Server.HTMLEncode(SA_EscapeQuotes(L_INVALID_DIR_ERRORMESSAGE))%>");
  248.                             document.frmTask.txtLogFileDir.value = strID;
  249.                             document.frmTask.txtLogFileDir.focus();
  250.                             return false;
  251.                             
  252.                         }
  253.                     }                
  254.                     return true;
  255.                 }
  256.                 else 
  257.                 {    
  258.                     var enableLogging = document.frmTask.chkEnableLogging.checked;
  259.                     if (enableLogging == true)                
  260.                     {                                
  261.                         SA_DisplayErr("<%=Server.HTMLEncode(SA_EscapeQuotes(L_DIRPATHEMPTY_ERRORMESSAGE))%>");
  262.                         document.frmTask.txtLogFileDir.focus();
  263.                         return false;
  264.                     }
  265.                     else
  266.                         return true;
  267.                 }             
  268.             }
  269.         
  270.             //init function  
  271.             function Init() 
  272.             {   
  273.               
  274.               var ActiveFormat = "<%=Server.HTMLEncode(F_selectActiveFormat) %>";              
  275.                               
  276.                 if (ActiveFormat == "<%=Server.HTMLEncode(CONST_MSIISLOGFILE_FORMAT) %>")
  277.                 {
  278.                     document.frmTask.selectActiveFormat.selectedIndex = 0;
  279.                 }                    
  280.                 else if (ActiveFormat == "<%=Server.HTMLEncode(CONST_NCSALOGFILE_FORMAT) %>")
  281.                 {
  282.                     document.frmTask.selectActiveFormat.selectedIndex = 1;
  283.                 }    
  284.                 else if (ActiveFormat == "<%=Server.HTMLEncode(CONST_ODBCLOGFILE_FORMAT) %>")
  285.                 {
  286.                     document.frmTask.selectActiveFormat.selectedIndex = 2;
  287.                 }    
  288.                 else if (ActiveFormat == "<%=Server.HTMLEncode(CONST_W3CEXLOGFILE_FORMAT) %>")
  289.                 {
  290.                     document.frmTask.selectActiveFormat.selectedIndex = 3;
  291.                 }    
  292.                 var myValue,i;
  293.                 myValue = document.frmTask.selectActiveFormat.options[document.frmTask.selectActiveFormat.selectedIndex].value;
  294.               
  295.                 if(myValue == "<%=Server.HTMLEncode(CONST_ODBCLOGFILE_FORMAT) %>")
  296.                 {
  297.               
  298.                     var len = document.frmTask.optLogPeriod.length;
  299.                     for(i=0;i<len;i++)
  300.                     {
  301.                         document.frmTask.optLogPeriod[i].disabled=true;
  302.                         document.frmTask.optLogPeriod[i].checked=false;
  303.                     }
  304.                     document.frmTask.txtLogFileDir.disabled = true;
  305.                     document.frmTask.chkLocalTime.disabled = true;                
  306.                     document.frmTask.txtFileSize.disabled = true;
  307.                     document.frmTask.txtFileSize.value = "";
  308.                 }
  309.                 
  310.                 
  311.                 if(myValue == "<%=Server.HTMLEncode(CONST_W3CEXLOGFILE_FORMAT)%>" || 
  312.                     myValue == "<%=Server.HTMLEncode(CONST_MSIISLOGFILE_FORMAT)%>" || 
  313.                     myValue == "<%=Server.HTMLEncode(CONST_NCSALOGFILE_FORMAT)%>")
  314.                 {    
  315.                     
  316.                     var len = document.frmTask.optLogPeriod.length;
  317.                     tempVal1 = document.frmTask.optLogPeriod[3].checked;
  318.                     tempVal2 = document.frmTask.optLogPeriod[5].checked;
  319.                     if(tempVal1 == true){
  320.                         document.frmTask.chkLocalTime.disabled = true;
  321.                         document.frmTask.txtFileSize.disabled = true;
  322.                         }            
  323.                     
  324.                     if(tempVal2 == true)
  325.                     {
  326.                         document.frmTask.chkLocalTime.disabled = true;
  327.                         document.frmTask.txtFileSize.disabled = false;
  328.                     }                    
  329.                     else
  330.                     {
  331.                          if(!(myValue == "<%=Server.HTMLEncode(CONST_MSIISLOGFILE_FORMAT)%>" || 
  332.                             myValue == "<%=Server.HTMLEncode(CONST_NCSALOGFILE_FORMAT)%>" ))
  333.                          {
  334.                             if(document.frmTask.chkLocalTime.checked == true)
  335.                             {
  336.                                 document.frmTask.chkLocalTime.disabled = false;
  337.                                 document.frmTask.chkLocalTime.checked = true;
  338.                             }
  339.                             else
  340.                             {
  341.                                 if(tempVal1 == true || tempVal2 == true)
  342.                                 {
  343.                                     document.frmTask.chkLocalTime.disabled = true;
  344.                                     document.frmTask.chkLocalTime.checked = false;
  345.                                 }
  346.                                 else
  347.                                 {
  348.                                     document.frmTask.chkLocalTime.disabled = false;
  349.                                     document.frmTask.chkLocalTime.checked = false;                                
  350.                                 }
  351.                             }
  352.                         }
  353.                     }             
  354.                          
  355.                     document.frmTask.txtLogFileDir.disabled = false;
  356.                     var len = document.frmTask.optLogPeriod.length;
  357.                     for(i=0;i<len;i++)
  358.                     {    document.frmTask.optLogPeriod[i].disabled=false;
  359.                     }
  360.                 }
  361.                 
  362.                 var enableLogging = "<%=Server.HTMLEncode(SA_EscapeQuotes(F_chkEnableLogging)) %>";                
  363.                 if (enableLogging == "false")                
  364.                 {                                
  365.                         document.frmTask.txtLogFileDir.disabled = true;
  366.                         document.frmTask.chkLocalTime.disabled = true;
  367.                         document.frmTask.selectActiveFormat.disabled = true;                    
  368.                         
  369.                         var len = document.frmTask.optLogPeriod.length;
  370.                         for(i=0;i<len;i++)                    
  371.                         {    document.frmTask.optLogPeriod[i].disabled=true;            
  372.                         }
  373.                         document.frmTask.txtFileSize.disabled = true;
  374.                 }
  375.             }
  376.             
  377.             
  378.             function enableFileTextBox()
  379.             {            
  380.                 document.frmTask.txtFileSize.disabled = false;
  381.                 document.frmTask.txtFileSize.focus();
  382.                 var myValue,i;
  383.                 myValue = document.frmTask.selectActiveFormat.options[document.frmTask.selectActiveFormat.selectedIndex].value;            
  384.             
  385.                 
  386.                 if(myValue == "<%=Server.HTMLEncode(CONST_W3CEXLOGFILE_FORMAT)%>")
  387.                 {    
  388.                     
  389.                     var len = document.frmTask.optLogPeriod.length;
  390.                     tempVal1 = document.frmTask.optLogPeriod[3].checked;
  391.                     tempVal2 = document.frmTask.optLogPeriod[5].checked;
  392.                     if(tempVal1 == true){
  393.                         document.frmTask.chkLocalTime.disabled = true;                        
  394.                         document.frmTask.txtFileSize.disabled = true;
  395.                         document.frmTask.optLogPeriod[3].focus();
  396.                         return true;
  397.                         }            
  398.                     
  399.                     if(tempVal2 == true){
  400.                         document.frmTask.chkLocalTime.disabled = true;
  401.                         document.frmTask.txtFileSize.disabled = false;
  402.                         return true;
  403.                     }                    
  404.                     else{
  405.                          document.frmTask.chkLocalTime.disabled = false;
  406.                          return true;
  407.                     }             
  408.                 }
  409.                 else{                
  410.                     tempVal1 = document.frmTask.optLogPeriod[3].checked;
  411.                     if(tempVal1 == true){
  412.                         document.frmTask.chkLocalTime.disabled = true;
  413.                         document.frmTask.txtFileSize.disabled = true;
  414.                         tempVal1 = document.frmTask.optLogPeriod[3].focus();
  415.                         return true;
  416.                     }
  417.                 }        
  418.             }
  419.             
  420.             function DisableFileTextBox()
  421.             {    
  422.                 var myValue,i;
  423.                 myValue = document.frmTask.selectActiveFormat.options[document.frmTask.selectActiveFormat.selectedIndex].value;
  424.             
  425.                 if(myValue == "<%=Server.HTMLEncode(CONST_W3CEXLOGFILE_FORMAT)%>")                
  426.                 {    document.frmTask.chkLocalTime.disabled = false;
  427.                 }
  428.                 else
  429.                 {    document.frmTask.chkLocalTime.disabled = true;
  430.                 }
  431.                 
  432.                 document.frmTask.txtFileSize.disabled = true;
  433.             }
  434.                         
  435.             function EnableLogFile()
  436.             {
  437.                 var myValue,i;
  438.                 myValue = document.frmTask.selectActiveFormat.options[document.frmTask.selectActiveFormat.selectedIndex].value;
  439.                 
  440.             
  441.                 if(myValue == "<%=Server.HTMLEncode(CONST_W3CEXLOGFILE_FORMAT)%>")
  442.                 {
  443.                     document.frmTask.chkLocalTime.disabled = false;
  444.                     document.frmTask.txtLogFileDir.disabled = false;
  445.                     
  446.                     var len = document.frmTask.optLogPeriod.length;
  447.                     for(i=0;i<len;i++)
  448.                     {    document.frmTask.optLogPeriod[i].disabled=false;
  449.                     }
  450.                         
  451.                     var temp = document.frmTask.optLogPeriod[5].checked;
  452.                     if (temp==true){
  453.                         enableFileTextBox();                        
  454.                         document.frmTask.chkLocalTime.disabled = true;}    
  455.                         
  456.                     var temp = document.frmTask.optLogPeriod[3].checked;
  457.                     if (temp==true){
  458.                         document.frmTask.txtFileSize.disabled = true;
  459.                         document.frmTask.chkLocalTime.disabled = true;}
  460.                         
  461.                     var len = document.frmTask.optLogPeriod.length;
  462.                     var j = 0;
  463.                     for(i=0;i<len;i++)
  464.                     {
  465.                         var temp = document.frmTask.optLogPeriod[i].checked;
  466.                         if(temp===false)
  467.                         {    j= j+1;}
  468.                     }
  469.                     
  470.                     if(j==len)
  471.                     {
  472.                         document.frmTask.optLogPeriod[2].checked = true;
  473.                     }    
  474.                     return true;                    
  475.                 }
  476.                 else if(myValue == "<%=Server.HTMLEncode(CONST_ODBCLOGFILE_FORMAT)%>")
  477.                 {
  478.                         DisableFileTextBox();                
  479.                         var len = document.frmTask.optLogPeriod.length;
  480.                         for(i=0;i<len;i++)
  481.                         {
  482.                             document.frmTask.optLogPeriod[i].disabled=true;
  483.                         }
  484.                         document.frmTask.chkLocalTime.disabled = true;    
  485.                         document.frmTask.txtLogFileDir.disabled = true;
  486.                         document.frmTask.chkLocalTime.checked = false;    
  487.                         document.frmTask.txtFileSize.disabled = true;
  488.                         document.frmTask.txtFileSize.value = "";
  489.                         return true;
  490.                 }                            
  491.                 else
  492.                 {    
  493.                     var len = document.frmTask.optLogPeriod.length;                    
  494.                     var temp = document.frmTask.optLogPeriod[5].checked;
  495.                     document.frmTask.chkLocalTime.disabled = true;
  496.                     if ((myValue == "<%=Server.HTMLEncode(CONST_MSIISLOGFILE_FORMAT)%>") || 
  497.                         (myValue == "<%=Server.HTMLEncode(CONST_NCSALOGFILE_FORMAT)%>"))
  498.                     {
  499.                         document.frmTask.chkLocalTime.checked = false;
  500.                     }
  501.                     document.frmTask.txtLogFileDir.disabled = false;                                                                
  502.                     if (temp==true)
  503.                     {
  504.                          enableFileTextBox();
  505.                          document.frmTask.chkLocalTime.disabled = true;    
  506.                     }
  507.                     for(i=0;i<len;i++)
  508.                     {    document.frmTask.optLogPeriod[i].disabled=false;
  509.                     }
  510.                     
  511.                     var len = document.frmTask.optLogPeriod.length;
  512.                     var j = 0;
  513.                     for(i=0;i<len;i++)
  514.                     {
  515.                         var temp = document.frmTask.optLogPeriod[i].checked;
  516.                         if(temp===false)
  517.                         {    j= j+1;}
  518.                     }
  519.                     
  520.                     if(j==len)
  521.                     {    document.frmTask.optLogPeriod[2].checked = true;
  522.                     }
  523.                     return true;
  524.                 }
  525.             }            
  526.             
  527.             function disableAll()
  528.             {
  529.                 var myValue,i;
  530.                     myValue = document.frmTask.selectActiveFormat.options[document.frmTask.selectActiveFormat.selectedIndex].value;                
  531.                     if(myValue == "<%=Server.HTMLEncode(SA_EscapeQuotes(CONST_ODBCLOGFILE_FORMAT))%>" || 
  532.                        document.frmTask.chkEnableLogging.checked == false )
  533.                     {                    
  534.                         document.frmTask.txtLogFileDir.disabled = true;
  535.                         document.frmTask.chkLocalTime.disabled = true;
  536.                         document.frmTask.chkLocalTime.checked = false;
  537.                         document.frmTask.selectActiveFormat.disabled = true;
  538.                         
  539.                         var len = document.frmTask.optLogPeriod.length;
  540.                         for(i=0;i<len;i++)                    
  541.                         {    document.frmTask.optLogPeriod[i].disabled=true;
  542.                         }
  543.                         
  544.                         // document.frmTask.txtFileSize.value = "";
  545.                         document.frmTask.txtFileSize.disabled = true;
  546.                     }
  547.                     return true;
  548.             }
  549.             
  550.             
  551.             function enableAll()
  552.             {
  553.                 if(document.frmTask.chkEnableLogging.checked == false)
  554.                 {
  555.                     disableAll();
  556.                 }
  557.                 else
  558.                 {                    
  559.                     var myValue,i;
  560.                     myValue = document.frmTask.selectActiveFormat.options[document.frmTask.selectActiveFormat.selectedIndex].value;                
  561.                     if(myValue == "<%=Server.HTMLEncode(CONST_ODBCLOGFILE_FORMAT)%>")
  562.                     {
  563.                         document.frmTask.txtLogFileDir.disabled = true;
  564.                         document.frmTask.chkLocalTime.disabled = true;
  565.                         document.frmTask.selectActiveFormat.disabled = false;                    
  566.                         
  567.                         var len = document.frmTask.optLogPeriod.length;
  568.                         for(i=0;i<len;i++)                    
  569.                         {    document.frmTask.optLogPeriod[i].disabled=true;            
  570.                         }
  571.  
  572.                         document.frmTask.txtFileSize.value = "";
  573.                         document.frmTask.txtFileSize.disabled = true;
  574.  
  575.                         return false;
  576.                     }
  577.                     else if(myValue == "<%=Server.HTMLEncode(CONST_W3CEXLOGFILE_FORMAT)%>")
  578.                     {
  579.                         var tempVal1 = document.frmTask.optLogPeriod[3].checked;
  580.                         var tempVal2 = document.frmTask.optLogPeriod[5].checked;
  581.                         if(tempVal1 == true)
  582.                         {
  583.                             document.frmTask.chkLocalTime.disabled = true;
  584.                             document.frmTask.txtFileSize.disabled = true;
  585.                         }            
  586.                         else if(tempVal2 == true)
  587.                         {
  588.                             document.frmTask.chkLocalTime.disabled = true;
  589.                             document.frmTask.txtFileSize.disabled = false;
  590.                         }                    
  591.                         else
  592.                         {    
  593.                             document.frmTask.chkLocalTime.disabled = false;
  594.                         }
  595.                     }
  596.                     else
  597.                     {
  598.                         var tempVal2 = document.frmTask.optLogPeriod[5].checked;
  599.                         if (tempVal2 ==  true)
  600.                         {
  601.                              document.frmTask.txtFileSize.disabled = false;
  602.                              document.frmTask.txtFileSize.focus();
  603.                         }
  604.                              
  605.                         document.frmTask.chkLocalTime.disabled = true;
  606.                     }
  607.                     
  608.                     var len = document.frmTask.optLogPeriod.length;
  609.                     document.frmTask.selectActiveFormat.disabled = false;
  610.                     document.frmTask.txtLogFileDir.disabled = false;
  611.                     for(i=0;i<len;i++)
  612.                     {    document.frmTask.optLogPeriod[i].disabled=false;
  613.                     }
  614.                 }
  615.             }
  616.             
  617.             
  618.             function SetData()
  619.             {                
  620.                 UpdateHiddenVariables();
  621.             }
  622.             
  623.             function UpdateHiddenVariables()
  624.             {
  625.                 document.frmTask.hdnEnableLog.value = document.frmTask.chkEnableLogging.checked;                    
  626.                 if (document.frmTask.chkLocalTime.disabled == false)
  627.                 {    document.frmTask.fileRollOver.value = document.frmTask.chkLocalTime.checked;
  628.                 }
  629.                 else
  630.                 {    document.frmTask.fileRollOver.value = false;
  631.                 }            
  632.             }
  633.             
  634.             function checkforEmptyfield()
  635.             {
  636.                 var strFileSize = document.frmTask.txtFileSize.value; 
  637.                 if (strFileSize == "")
  638.                 {    document.frmTask.txtFileSize.value = 1;
  639.                 }
  640.                 else if (strFileSize == 0)
  641.                 {    document.frmTask.txtFileSize.value = 1;
  642.                 }
  643.             }                        
  644.             
  645.         </script>
  646.         
  647. <%    End Function
  648.    
  649.     '-------------------------------------------------------------------------
  650.     'Function:                ServePage()
  651.     'Description:            For displaying outputs HTML to the user
  652.     'Input Variables:        None    
  653.     'Output Variables:        None
  654.     'Returns:                None
  655.     'Global Variables:        L_DELETE_CONFIRM_TEXT
  656.     '-------------------------------------------------------------------------
  657.     Function ServePage
  658. %>
  659.         <table border=0 CELLSPACING=0 CELLPADDING=0 align=left class="TasksBody">
  660.             <TR>
  661.                 <td>
  662.                     <% select case F_chkEnableLogging
  663.                         case "true" %>
  664.                             <input type=checkbox name=chkEnableLogging checked tabIndex=1 onclick="enableAll()" value="ON">
  665.                         <%case else%>
  666.                             <input type=checkbox name=chkEnableLogging tabIndex=1 onclick="enableAll()" value="ON">
  667.                     <%end select%>
  668.                 </td>
  669.                 <td nowrap class="TasksBody">
  670.                     <%= L_ENABLELOGGING %>
  671.                 </td>
  672.             </TR>
  673.             <TR>
  674.                 <td></td>
  675.                 <TD nowrap class="TasksBody"> 
  676.                     <%= L_ACTIVELOGFORMAT %>
  677.                 </td>
  678.                 <td colspan=4 >
  679.                     <SELECT name=selectActiveFormat class="formField" size=1 tabIndex=2 onChange="EnableLogFile()"  value="<%=Server.HTMLEncode(F_selectActiveFormat)%>"> 
  680.                         <OPTION  VALUE="<%=Server.HTMLEncode(CONST_MSIISLOGFILE_FORMAT) %>"><%=L_IISLOGFORMAT %></OPTION>
  681.                         <OPTION selected value="<%=Server.HTMLEncode(CONST_NCSALOGFILE_FORMAT) %>" ><%= L_COMMONLOGFORMAT %></OPTION>
  682.                         <OPTION  value="<%=Server.HTMLEncode(CONST_ODBCLOGFILE_FORMAT) %>" ><%= L_ODBCLOG %></OPTION>
  683.                         <OPTION value="<%=Server.HTMLEncode(CONST_W3CEXLOGFILE_FORMAT) %>"><%= L_EXTENDEDLOGFILE %></OPTION>
  684.                     </SELECT>
  685.                 </td>
  686.             </TR>
  687.             <TR>
  688.                 <td></td>
  689.                 <TD nowrap class="TasksBody"> 
  690.                     <%= L_NEWLOGTIME %>
  691.                 </td>
  692.                 <td>            
  693.                     <%select case F_optLogPeriod
  694.                         case L_HOURLY %>
  695.                             <input type=radio name=optLogPeriod value="<%=Server.HTMLEncode(L_HOURLY) %>" tabIndex=3 onclick="DisableFileTextBox();" checked>
  696.                         <%case else%>
  697.                             <input type=radio name=optLogPeriod value="<%=Server.HTMLEncode(L_HOURLY) %>" tabIndex=3 onclick="DisableFileTextBox();">
  698.                     <%end select %>
  699.                 </td>
  700.                 <td nowrap class="TasksBody">
  701.                     <%= L_HOURLY %>
  702.                 </td>
  703.                 <td>
  704.                     <%select case F_optLogPeriod
  705.                         case L_MONTHLY %>
  706.                             <input type=radio name=optLogPeriod value="<%=Server.HTMLEncode(L_MONTHLY) %>" tabIndex=4 onclick="DisableFileTextBox();"  checked>
  707.                         <%case else%>
  708.                             <input type=radio name=optLogPeriod value="<%=Server.HTMLEncode(L_MONTHLY) %>" tabIndex=4 onclick="DisableFileTextBox();" >
  709.                     <%end select %>
  710.                 </td>
  711.                 <td nowrap class="TasksBody">
  712.                     <%= L_MONTHLY %>
  713.                 </td>
  714.             </TR>
  715.             <TR>
  716.                 <td colspan=2 >
  717.                 </td>
  718.                 <TD>
  719.                     <%select case F_optLogPeriod
  720.                         case L_DAILY %>
  721.                             <input type=radio name=optLogPeriod value="<%=Server.HTMLEncode(L_DAILY) %>" tabIndex=5 onclick="DisableFileTextBox();" checked>
  722.                         <%case else %>
  723.                             <input type=radio name=optLogPeriod value="<%=Server.HTMLEncode(L_DAILY) %>" tabIndex=5 onclick="DisableFileTextBox();" >
  724.                     <%end select%>
  725.                 </TD>
  726.                 <td width=50% nowrap class="TasksBody">
  727.                     <%= L_DAILY %>
  728.                 </td>
  729.                 <TD>
  730.                     
  731.                     <%select case F_optLogPeriod
  732.                         case L_UNLIMITEDFILESIZE %>
  733.                             <input type=radio name=optLogPeriod checked value ="<%=Server.HTMLEncode(L_UNLIMITEDFILESIZE) %>" tabIndex=6 onclick="enableFileTextBox();" > 
  734.                         <%case else%>
  735.                             <input type=radio name=optLogPeriod value ="<%=Server.HTMLEncode(L_UNLIMITEDFILESIZE) %>" tabIndex=6 onclick="enableFileTextBox();" >                     
  736.                     <%end select %>
  737.                     
  738.                 </TD>
  739.                 <td width=50% nowrap class="TasksBody">
  740.                     <%= L_UNLIMITEDFILESIZE %>
  741.                 </td>
  742.             </TR>
  743.             <TR>
  744.                 <td colspan=2 >
  745.                 </td>
  746.                 <TD>
  747.                     <%select case F_optLogPeriod
  748.                         case L_WEEKLY %>
  749.                             <input type=radio name=optLogPeriod onclick="DisableFileTextBox();" tabIndex=7 value="<%=Server.HTMLEncode(L_WEEKLY) %>"  checked>
  750.                         <%case else%>
  751.                             <input type=radio name=optLogPeriod value="<%=Server.HTMLEncode(L_WEEKLY) %>" tabIndex=7 onclick="DisableFileTextBox();" >                    
  752.                     <%end select%>
  753.                 </TD>
  754.                 <td colspan=3 nowrap class="TasksBody">
  755.                     <%= L_WEEKLY %>
  756.                 </td>
  757.             </TR>
  758.             <TR>
  759.                 <td colspan=2 >
  760.                 </td>
  761.                 <TD>
  762.                     <%select case F_optLogPeriod
  763.                         case L_FILE %>
  764.                             <input type=radio name=optLogPeriod value ="<%=Server.HTMLEncode(L_FILE) %>" checked tabIndex=8 onclick="javascript:enableFileTextBox();">
  765.                             </td><td colspan=3 nowrap class="TasksBody"><%=L_WHENFILESIZE %>  
  766.                             <input type=text name=txtFileSize class="formField" value="<%=Server.HTMLEncode(F_FileSize)%>" OnKeyUP="javaScript:checkUserLimit(this,'filesize');" OnKeypress="javaScript: if(window.event.keyCode==13 || window.event.keyCode== 27)return true; checkKeyforNumbers(this);" onblur = "checkforEmptyfield();" size="20">
  767.  
  768.                         <%case else%>
  769.                             <input type=radio name=optLogPeriod value ="<%=Server.HTMLEncode(L_FILE) %>" tabIndex=8 onclick="javascript:enableFileTextBox();">
  770.                             </td><td colspan=3 nowrap class="TasksBody"><%=L_WHENFILESIZE %>  
  771.                             <input type=text name=txtFileSize class="formField"  disabled value="<%=Server.HTMLEncode(F_FileSize)%>"OnKeyUP="javaScript:checkUserLimit(this,'filesize');" OnKeypress="javaScript:if(window.event.keyCode==13 || window.event.keyCode== 27)return true; checkKeyforNumbers(this);" onblur = "checkforEmptyfield();" size="20"> 
  772.                     <%end select %>
  773.                 </TD>
  774.             </TR>
  775.             <tr>
  776.                 <td>
  777.                  
  778.                 </td>
  779.             </tr>
  780.             <tr>
  781.                 <td></td>
  782.                 <td colspan=5 class="TasksBody">
  783.                     <%if F_optLogPeriod = L_FILE  or F_optLogPeriod = L_UNLIMITEDFILESIZE then%>
  784.                         <input type=checkbox name=chkLocalTime disabled tabIndex=9 value="ON">
  785.                     <%else%>
  786.                         <%if F_selectActiveFormat = CONST_W3CEXLOGFILE_FORMAT and F_LocalTime=true then %>
  787.                             <input type=checkbox name=chkLocalTime checked tabIndex=9 value="ON">
  788.                         <%elseif F_selectActiveFormat = CONST_W3CEXLOGFILE_FORMAT and F_LocalTime=false then %>
  789.                             <input type=checkbox name=chkLocalTime tabIndex=9 value="ON">
  790.                         <%else%>
  791.                             <input type=checkbox name=chkLocalTime disabled tabIndex=9 value="ON">
  792.                         <%end if%>
  793.                     <%end if%>
  794.                       <%=    L_LOCALTIME %>
  795.                 </td>
  796.             </tr>
  797.             <tr>
  798.                 <td>
  799.                 </td>
  800.                 <td colspan=5 class="TasksBody">
  801.                     <%= L_LOGFILEDIR %>
  802.                       
  803.                     <input type=text name=txtLogFileDir class="formField"  size=40 onKeyPress = "ClearErr();" value="<%=F_LogFileDir%>" tabIndex=10>
  804.                 </td>
  805.             </tr>
  806.             <tr>
  807.                 <td>
  808.                  
  809.                 </td>
  810.             </tr>
  811.             <tr>
  812.                 <td>
  813.                     <input type=radio name=optAllSites tabIndex=11 value="inherited" checked onclick="ClearErr()">
  814.                 </td>
  815.                 <td colspan=5 class="TasksBody">
  816.                     <%= L_APPLYTOINHERITEDIISTEXT %>
  817.                 </td>
  818.             </tr>
  819.             <tr>
  820.                 <td>
  821.                     <input type=radio name=optAllSites tabIndex=11 value="All"  onclick="ClearErr();">
  822.                 </td>
  823.                 <td colspan=5 class="TasksBody">
  824.                     <%= L_APPLYTOALLIISTEXT %>
  825.                 </td>
  826.             </tr>            
  827.         </TABLE>
  828.         <input type=hidden name=fileRollOver>
  829.         <input type=hidden name=hdnEnableLog>
  830. <%                
  831.     End Function
  832.     
  833.     '-------------------------------------------------------------------------
  834.     'Function name:            ServeVariablesFromForm()
  835.     'Description:            Serves in getting the data from Client 
  836.     'Input Variables:        None    
  837.     'Output Variables:        None
  838.     'Returns:                True/False
  839.     'Global Variables:        None
  840.     '-------------------------------------------------------------------------
  841.     Function ServeVariablesFromForm
  842.     
  843.         'setting the form variables
  844.         F_chkEnableLogging = Request.Form("hdnEnableLog")
  845.         F_selectActiveFormat = Request.Form("selectActiveFormat")
  846.         F_optLogPeriod = Request.Form("optLogPeriod")
  847.         
  848.         F_FileSize = Request.Form("txtFileSize")
  849.         F_LocalTime = Request.Form("fileRollOver")
  850.         F_LogFileDir = Request.Form("txtLogFileDir")
  851.         
  852.         F_SiteCriteria = Request.Form("optAllSites")
  853.     
  854.         'set the master settings
  855.         If SetLogSettings()then
  856.            ServeVariablesFromForm = true
  857.         else
  858.             ServeVariablesFromForm = false
  859.         end if    
  860.  
  861.     End Function    
  862.     
  863.     '-------------------------------------------------------------------------
  864.     'Function name:            SetVariablesFromSystem
  865.     'Description:            Serves in Getting the data from Client 
  866.     'Input Variables:        None    
  867.     'Output Variables:        None
  868.     'Returns:                None
  869.     'Global Variables:        G_objService
  870.     '-------------------------------------------------------------------------
  871.     
  872.     Function SetVariablesFromSystem
  873.         Err.Clear
  874.         on error resume next
  875.         
  876.         'Getting values from system
  877.         Dim objSites
  878.         Dim strQuery
  879.         Dim objLogFormat
  880.         Dim instLog
  881.         
  882.         strQuery = GetIISWMIProviderClassName("IIs_WebServiceSetting") & ".Name='W3SVC'"
  883.         
  884.         set objSites = G_objService.Get(strQuery)
  885.         if Err.number <> 0 then
  886.             SetErrMsg L_INFORMATION_ERRORMESSAGE
  887.             exit function            
  888.         end if        
  889.     
  890.         select case objSites.Logtype
  891.             case 1
  892.                 F_chkEnableLogging = "true"
  893.             case else
  894.                 F_chkEnableLogging = "false"
  895.         end select
  896.  
  897.         if F_chkEnableLogging = "true" then
  898.             F_selectActiveFormat = IISLogFileGUIDToENName(objSites.LogPluginClsId)
  899.         end if
  900.     
  901.         select case objSites.LogFilePeriod
  902.             case 1
  903.                 F_optLogPeriod = L_DAILY
  904.             case 2
  905.                 F_optLogPeriod = L_WEEKLY
  906.             case 3
  907.                 F_optLogPeriod = L_MONTHLY
  908.             case 4
  909.                 F_optLogPeriod = L_HOURLY
  910.             case 0
  911.                 if objSites.LogFileTruncateSize <>-1 then
  912.                     F_optLogPeriod = L_FILE
  913.                     F_FileSize = objSites.LogFileTruncateSize / (1024*1024)
  914.                 else
  915.                     F_optLogPeriod = L_UNLIMITEDFILESIZE
  916.                     F_FileSize = ""
  917.                 end if
  918.         end select                        
  919.  
  920.         F_LocalTime = cbool(objSites.LogFileLocaltimeRollover)
  921.             
  922.         F_LogFileDir = objSites.LogFileDirectory
  923.  
  924.         'release the object
  925.         set objSites = nothing
  926.         set objLogFormat = nothing
  927.         
  928.     End Function
  929.         
  930.     '-------------------------------------------------------------------------
  931.     'Function name:            InitObjects
  932.     'Description:            Initialization of global variables is done
  933.     'Input Variables:        None
  934.     'Returns:                true/false
  935.     'Global Variable:        G_objService
  936.     '--------------------------------------------------------------------------    
  937.     Function InitObjects()
  938.         Err.Clear
  939.         on error resume next
  940.         
  941.         ' Get the connection that is visible throughout
  942.         Set G_objService = getWMIConnection(CONST_WMI_IIS_NAMESPACE)
  943.         if Err.number <> 0 then    
  944.             SetErrMsg L_INFORMATION_ERRORMESSAGE
  945.         end if
  946.  
  947.     end function
  948.     
  949.     '----------------------------------------------------------------------
  950.     'Function name:            SetLogSettings
  951.     'Description:            Serves in setting the logs to the web server
  952.     'Input Variables:        None    
  953.     'Output Variables:        boolean
  954.     'Returns:                None
  955.     'Global Variables:        G_objService
  956.     '----------------------------------------------------------------------
  957.     
  958.     Function SetLogSettings()
  959.         Err.Clear
  960.         on error resume next
  961.     
  962.         SetLogSettings = false
  963.         
  964.         Dim strObjPath
  965.         
  966.         InitObjects()
  967.         
  968.         if F_chkEnableLogging = "true" then
  969.             if ValidateInputs = True then
  970.  
  971.                 select case F_SiteCriteria
  972.                     
  973.                     'apply to all sites    
  974.                     case "All" 
  975.                         if NOT SetLogsForAllSites(G_objService) then
  976.                             ServeFailurePage L_FAIL_TO_SET_LOGS, sReturnURL
  977.                             Call SA_TraceOut("Web_LogSettings", "SetLogSettings 1")
  978.                         end if
  979.  
  980.                     'apply to inherited sites
  981.                     case "inherited"
  982.                         if NOT SetLogsForNewSites(G_objService) then                
  983.                             ServeFailurePage L_FAIL_TO_SET_LOGS,sReturnURL
  984.                             Call SA_TraceOut("Web_LogSettings", "SetLogSettings 2")
  985.                         end if
  986.                 end select
  987.         
  988.                 SetLogSettings = true
  989.                 exit function
  990.  
  991.             End if
  992.             
  993.         else
  994.  
  995.             Dim inst
  996.             Dim objSite
  997.             Dim arrProp(4)
  998.             
  999.             arrProp(0) = "LogType"
  1000.             arrProp(1) = "LogPluginClsId"
  1001.             arrProp(2) = "LogFilePeriod"
  1002.             arrProp(3) = "LogFileTruncateSize"
  1003.             arrProp(4) = "LogFileLocaltimeRollover"
  1004.             
  1005.             select case F_SiteCriteria                    
  1006.                 'apply to all sites                
  1007.                 case "All"
  1008.                     
  1009.                     set objSite = G_objService.InstancesOf(GetIISWMIProviderClassName("IIS_WebServiceSetting"))
  1010.                     if Err.number <> 0 or objSite.count = 0 then
  1011.                         SetErrMsg L_INFORMATION_ERRORMESSAGE
  1012.                         Call SA_TraceOut("Web_LogSettings", "SetLogSettings 3")
  1013.                         exit function            
  1014.                     end if
  1015.                     
  1016.                     for each inst in objSite                        
  1017.                         inst.Logtype = 0
  1018.             
  1019.                         inst.put_(WBEMFLAG)
  1020.             
  1021.                         if Err.number <> 0 then                            
  1022.                             SA_TraceOut "Web_LogSettings",  L_FAIL_TO_SET_LOGS
  1023.                             SetLogSettings = false
  1024.                             exit function
  1025.                         end if
  1026.                     next 
  1027.                     
  1028.                     'Release the object
  1029.                     set objSite = nothing
  1030.                     
  1031.                     Set objSite = GetNonInheritedIISSites(G_objService, GetIISWMIProviderClassName("IIS_WebServerSetting"), GetIISWMIProviderClassName("IIS_WebServiceSetting"), arrProp)
  1032.                     
  1033.                     if objSite.count = 0 then
  1034.                             SetLogSettings = true
  1035.                             exit function
  1036.                     end if
  1037.                     
  1038.                     for each inst in objSite                        
  1039.                         
  1040.                         inst.Logtype = 0
  1041.                         
  1042.                         inst.put_(WBEMFLAG)
  1043.                         if Err.number <> 0 then
  1044.                             SA_TraceOut "Web_LogSettings",  L_FAIL_TO_SET_LOGS
  1045.                             SetLogSettings = false
  1046.                             exit function
  1047.                         end if                        
  1048.                     
  1049.                     next 
  1050.                 'apply to inherited sites
  1051.                 case "inherited"
  1052.                     
  1053.                     strObjPath = GetIISWMIProviderClassName("IIs_WebServiceSetting") & ".Name='W3SVC'"
  1054.                     set objSite = G_objService.Get(strObjPath)
  1055.                     if Err.number <> 0 then
  1056.                         SetErrMsg L_INFORMATION_ERRORMESSAGE
  1057.                         Call SA_TraceOut("Web_LogSettings", "SetLogsForNewSites 1")
  1058.                         exit function            
  1059.                     end if
  1060.  
  1061.                     objSite.Logtype = 0
  1062.                         
  1063.                     objSite.put_(WBEMFLAG)
  1064.                     if Err.number <> 0 then
  1065.                         SA_TraceOut "Web_LogSettings",  L_FAIL_TO_SET_LOGS
  1066.                         SetLogSettings = false
  1067.                         exit function
  1068.                     end if                        
  1069.  
  1070.             end select
  1071.             SetLogSettings = true
  1072.  
  1073.     end if    
  1074.     
  1075.     'Release the object
  1076.     set G_objService = nothing
  1077.     set objSite = nothing
  1078.             
  1079.     end function
  1080.     
  1081.     '-----------------------------------------------------------------------------------------------------------
  1082.     'Function name:            SetLogsForAllSites
  1083.     'Description:            Serves in setting the logs to all Web sites
  1084.     'Input Variables:        G_objService    
  1085.     'Output Variables:        boolean
  1086.     'Returns:                None
  1087.     'Global Variables:        G_objService
  1088.     'Other functions called:GetNonInheritedIISSites
  1089.     '-----------------------------------------------------------------------------------------------------------
  1090.         
  1091.     Function SetLogsForAllSites(G_objService)
  1092.         Err.Clear
  1093.         On error resume next
  1094.         
  1095.         Dim objSite
  1096.         Dim inst
  1097.         Dim arrProp(4)
  1098.     
  1099.         'Set logs for new sites
  1100.         SetLogsForNewSites G_objService
  1101.         
  1102.         SetLogsForAllSites  = false
  1103.             
  1104.         arrProp(0) = "LogType"
  1105.         arrProp(1) = "LogPluginClsId"
  1106.         arrProp(2) = "LogFilePeriod"
  1107.         arrProp(3) = "LogFileTruncateSize"
  1108.         arrProp(4) = "LogFileLocaltimeRollover"
  1109.         
  1110.         
  1111.         Set objSite = GetNonInheritedIISSites(G_objService, GetIISWMIProviderClassName("IIs_WebServerSetting"), GetIISWMIProviderClassName("IIS_WebServiceSetting"), arrProp)
  1112.     
  1113.         if objSite.count = 0 then
  1114.             SetLogsForAllSites = true
  1115.             exit function
  1116.         end if
  1117.  
  1118.         for each inst in objSite
  1119.  
  1120.             if not SetLogs(inst) then
  1121.                 
  1122.                 SA_TraceOut "Web_LogSettings",  L_FAIL_TO_SET_LOGS
  1123.                 
  1124.             end if
  1125.         
  1126.         next    
  1127.         
  1128.         'release the object
  1129.         set objSite = nothing
  1130.         
  1131.         SetLogsForAllSites  = true
  1132.         
  1133.     End Function
  1134.     
  1135.     
  1136.     
  1137.     '-----------------------------------------------------------------------------------------------------------
  1138.     'Function name:            SetLogsForNewSites
  1139.     'Description:            Serves in setting the logs to the new Web sites
  1140.     'Input Variables:        G_objService    
  1141.     'Output Variables:        boolean
  1142.     'Global Variables:        G_objService    
  1143.     'Returns:                boolean
  1144.     '-----------------------------------------------------------------------------------------------------------
  1145.     
  1146.     Function SetLogsForNewSites(G_objService)
  1147.         Err.Clear
  1148.         On error resume next
  1149.         
  1150.         Dim objSite
  1151.         Dim strObjPath
  1152.         
  1153.         SetLogsForNewSites = false
  1154.         
  1155.         strObjPath = GetIISWMIProviderClassName("IIs_WebServiceSetting") & ".Name='W3SVC'" 
  1156.         
  1157.         set objSite = G_objService.Get(strObjPath)
  1158.         if Err.number <> 0 then
  1159.             SetErrMsg L_INFORMATION_ERRORMESSAGE
  1160.             Call SA_TraceOut("Web_LogSettings", "SetLogsForNewSites 1")
  1161.             exit function            
  1162.         end if
  1163.         
  1164.                     
  1165.         if not SetLogs(objSite) then
  1166.                 
  1167.             SA_TraceOut "Web_LogSettings",  L_FAIL_TO_SET_LOGS
  1168.                 
  1169.             SetLogsForNewSites = false
  1170.             exit function
  1171.         end if
  1172.             
  1173.         'release the object
  1174.         set objSite = nothing
  1175.         
  1176.         SetLogsForNewSites = true
  1177.     
  1178.     End Function
  1179.         
  1180.     '----------------------------------------------------------------------------------------------------
  1181.     'Function name:            ValidateInputs
  1182.     'Description:            Check whether directory exists
  1183.     '                        If directory does not exist, create the web site if the drive letter is valid
  1184.     '                        else give error message
  1185.     'Input Variables:        None
  1186.     'Global Variables:        None    
  1187.     'Returns:                true/false
  1188.     '-----------------------------------------------------------------------------------------------------
  1189.     
  1190.     Function ValidateInputs()
  1191.         Err.Clear
  1192.         on error resume next
  1193.         
  1194.         Dim strIndx
  1195.         Dim objFso
  1196.         Dim nRetVal
  1197.         Dim strDir
  1198.         
  1199.         ValidateInputs = false
  1200.         
  1201.         if F_selectActiveFormat <> CONST_ODBCLOGFILE_FORMAT then
  1202.         
  1203.             strDir = F_LogFileDir
  1204.         
  1205.             Set objFso = server.CreateObject("Scripting.FileSystemObject")
  1206.             if Err.number <> 0 then
  1207.                 SetErrMsg L_FILEINFORMATION_ERRORMESSAGE
  1208.                 Call SA_TraceOut("Web_LogSettings", "ValidateInputs 1")
  1209.                 exit function
  1210.             end if            
  1211.             
  1212.             if mid(ucase(F_LogFileDir),1,8) = ucase("%WinDir%") then
  1213.             
  1214.                 strDir = objFso.GetSpecialFolder(0) & mid(F_LogFileDir,9)
  1215.             
  1216.             elseif mid(ucase(F_LogFileDir),1,13) = ucase("%SystemDrive%") then
  1217.                 
  1218.                 strDir = objFso.GetSpecialFolder(0).Drive & mid(F_LogFileDir,14)
  1219.             else
  1220.                 strDir = F_LogFileDir
  1221.             
  1222.             end if
  1223.                     
  1224.                 nRetVal = CreateSitePath( objFso, strDir )
  1225.  
  1226.                 if nRetVal <> CONST_SUCCESS then
  1227.  
  1228.                     if nRetVal = CONST_INVALID_DRIVE then
  1229.  
  1230.                         SetErrMsg L_INVALID_DRIVE_ERRORMESSAGE
  1231.                         Call SA_TraceOut("Web_LogSettings", "ValidateInputs 2")
  1232.                         
  1233.                     elseif nRetVal = CONST_NOTNTFS_DRIVE then
  1234.     
  1235.                         SetErrMsg L_NOT_NTFS_DRIVE_ERRORMESSAGE
  1236.                         Call SA_TraceOut("Web_LogSettings", "ValidateInputs 3")
  1237.                         
  1238.                     else
  1239.                 
  1240.                         SetErrMsg L_FAILED_CREATE_DIR_ERRORMESSAGE
  1241.                         Call SA_TraceOut("Web_LogSettings", "ValidateInputs 4")
  1242.                 
  1243.                     end if
  1244.     
  1245.                     exit Function
  1246.  
  1247.                 end if
  1248.                 
  1249.                 Dim strDriveName,objDriveType, intDriveSize
  1250.                         
  1251.                 strDriveName = left(strDir,2)    
  1252.                     
  1253.                 if objFso.DriveExists(ucase(strDriveName)) then    
  1254.                     set objDriveType =  objFso.GetDrive(strDriveName)
  1255.                     intDriveSize = clng(objDriveType.TotalSize / (1024*1024))                
  1256.                 end if                    
  1257.  
  1258.                 'Release the object
  1259.                 set objDriveType = nothing
  1260.                 
  1261.                 if clng(F_FileSize) > intDriveSize then                        
  1262.                        L_DIRQUOTAERRORMESSAGE = GetLocString("GeneralSettings.dll", "C0420057", Array(CStr(intDriveSize)))
  1263.                     SetErrMsg(L_DIRQUOTAERRORMESSAGE)
  1264.                     exit Function            
  1265.                 end if
  1266.  
  1267.         end if
  1268.         
  1269.         ValidateInputs = true
  1270.         
  1271.         'Release the object
  1272.         set objFso = nothing
  1273.     
  1274.     End Function
  1275.     
  1276.     
  1277.     '------------------------------------------------------------------
  1278.     'Function name:            SetLogs
  1279.     'Description:            Serves in setting the logs
  1280.     'Input Variables:        inst    
  1281.     'Returns:                boolean 'true if no error occurs else false
  1282.     'Global Variables:        G_objService    
  1283.     '------------------------------------------------------------------
  1284.         
  1285.     Function SetLogs(inst)
  1286.         Err.Clear
  1287.         on error resume next
  1288.         
  1289.         SetLogs = false
  1290.         
  1291.         Dim strQuery
  1292.         Dim objLogFormat
  1293.         Dim instLog
  1294.         
  1295.         inst.LogType = 1 'to enable logging
  1296.         inst.LogPluginClsId = IISLogFileENNameToGUID(F_selectActiveFormat)
  1297.         
  1298.         if F_selectActiveFormat <> CONST_ODBCLOGFILE_FORMAT then                                                
  1299.  
  1300.             select case F_optLogPeriod
  1301.                 case L_DAILY
  1302.                     inst.LogFilePeriod = 1
  1303.                     inst.LogFileTruncateSize = 512 * 1024 * 1024                            
  1304.                 case L_WEEKLY
  1305.                     inst.LogFilePeriod = 2
  1306.                     inst.LogFileTruncateSize = 512 * 1024 * 1024                            
  1307.                 case L_MONTHLY
  1308.                     inst.LogFilePeriod = 3
  1309.                     inst.LogFileTruncateSize = 512 * 1024 * 1024                            
  1310.                 case L_HOURLY
  1311.                     inst.LogFilePeriod = 4
  1312.                     inst.LogFileTruncateSize = 512 * 1024 * 1024                            
  1313.                 case L_FILE
  1314.                     inst.LogFilePeriod = 0
  1315.                     if trim(F_FileSize) <> "" then
  1316.                         inst.LogFileTruncateSize = clng(F_FileSize) * 1024 * 1024
  1317.                     else
  1318.                         inst.LogFileTruncateSize = 1024 * 1024
  1319.                     end if
  1320.                 case L_UNLIMITEDFILESIZE
  1321.                     inst.LogFilePeriod = 0
  1322.                     inst.LogFileTruncateSize = -1
  1323.             end select
  1324.             
  1325.             inst.LogFileLocaltimeRollover = cbool(F_LocalTime)
  1326.             inst.LogFileDirectory = trim(F_LogFileDir)
  1327.  
  1328.         end if
  1329.  
  1330.         inst.put_(WBEMFLAG)
  1331.         
  1332.         if Err.number <> 0 then
  1333.             SA_TraceOut "Web_LogSettings",  L_FAIL_TO_SET_LOGS        
  1334.             SetLogs = false
  1335.             exit function
  1336.         end if
  1337.     
  1338.         'release the object
  1339.         set objLogFormat = nothing
  1340.         
  1341.         SetLogs = true
  1342.     End function
  1343. %>
  1344.